home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / icsources.lha / PROGRAMS / MAP ED < prev    next >
Encoding:
Text File  |  1990-06-23  |  14.3 KB  |  715 lines

  1.      
  2.      section ax,code_c
  3.     opt c-,d+,w-,o+    
  4.     
  5.     include 'df1:insert/custom registers'
  6.     
  7. badd=(320*256)/8
  8. akey=$bfec01
  9.  
  10.     move.w picdata+badd*5,c1
  11.     move.w picdata+badd*5+2,c2
  12.     move.w picdata+badd*5+4,c3
  13.     move.w picdata+badd*5+6,c4
  14.     move.w picdata+badd*5+8,c5
  15.     move.w picdata+badd*5+10,c6
  16.     move.w picdata+badd*5+12,c7
  17.     move.w picdata+badd*5+14,c8
  18.     move.w picdata+badd*5+16,c9
  19.     move.w picdata+badd*5+18,c10
  20.     move.w picdata+badd*5+20,c11
  21.     move.w picdata+badd*5+22,c12
  22.     move.w picdata+badd*5+24,c13
  23.     move.w picdata+badd*5+26,c14
  24.     move.w picdata+badd*5+28,c15
  25.     move.w picdata+badd*5+30,c16
  26.     move.w picdata+badd*5+32,c17
  27.     move.w picdata+badd*5+34,c18
  28.     move.w picdata+badd*5+36,c19
  29.     move.w picdata+badd*5+38,c20
  30.     move.w picdata+badd*5+40,c21
  31.     move.w picdata+badd*5+42,c22
  32.     move.w picdata+badd*5+44,c23
  33.     move.w picdata+badd*5+46,c24
  34.     move.w picdata+badd*5+48,c25
  35.     move.w picdata+badd*5+50,c26
  36.     move.w picdata+badd*5+52,c27
  37.     move.w picdata+badd*5+54,c28
  38.     move.w picdata+badd*5+56,c29
  39.     move.w picdata+badd*5+58,c30
  40.     move.w picdata+badd*5+60,c31
  41.     move.w picdata+badd*5+62,c32
  42.     
  43.     lea $dff000,a6
  44.     move.w #$87e0,$dff096
  45.     move.l #-1,bltafwm(a6)
  46.     jsr cop_init
  47.     jsr bobsetup1
  48.     jsr bobsetup
  49.     jsr bobsetup5
  50.      move.l $6c,oldirq
  51.      move.l #newirq,$6c
  52. mse:
  53.      cmp.b #$ff,$dff006
  54.      bne mse
  55.      
  56. zog:
  57.      btst #6,$bfe001
  58.     bne mse
  59.      move.l oldirq,$6c
  60.      move.l copaddr,a0
  61.      move.l oldcop,(a0)
  62. nolib:    
  63.      rts    
  64. newirq:  
  65.     movem.l d0-d7/a0-a6,$75000
  66.     cmp.b #5,count
  67.     bne huge
  68.     jsr keyboard
  69.     move.b #0,count
  70. huge:
  71.     addi.b #1,count
  72.     movem.l $75000,d0-d7/a0-a6
  73.     dc.w $4ef9
  74.     
  75. oldirq: dc.l 0
  76.  
  77.     even
  78.  
  79. cop_init:
  80.      lea screen,a0
  81.      move.l a0,d0
  82.      move.w d0,lo1
  83.      swap d0
  84.      move.w d0,hi1
  85.      lea screen+badd,a0
  86.      move.l a0,d0
  87.      move.w d0,lo2
  88.      swap d0
  89.      move.w d0,hi2
  90.      lea screen+badd*2,a0
  91.      move.l a0,d0
  92.      move.w d0,lo3
  93.      swap d0
  94.      move.w d0,hi3
  95.      lea screen+badd*3,a0
  96.      move.l a0,d0
  97.      move.w d0,lo4
  98.      swap d0
  99.      move.w d0,hi4
  100.      lea screen+badd*4,a0
  101.      move.l a0,d0
  102.      move.w d0,lo5
  103.      swap d0
  104.      move.w d0,hi5
  105.      moveq #$00,d0
  106.      lea grafname,a1
  107.      move.l $4,a6
  108.      jsr -132(A6)
  109.      move.l $4,A6
  110.      jsr -408(a6)
  111.      tst d0
  112.      beq nolib
  113.      move.l d0,grafbase
  114.      move.l d0,a6
  115.      add.l #$32,d0
  116.      move.l d0,a0
  117.      move.l a0,copaddr
  118.      move.l (a0),oldcop
  119.      move.l #newcop,(a0)
  120.      rts
  121.  
  122.     even
  123.       
  124. grafname: dc.b "graphics.library",0
  125. grafbase: dc.l 0
  126. oldcop:   dc.l 0
  127. copaddr:  dc.l 0
  128. count:      dc.b 0
  129. xpos:      dc.b 0
  130. ypos:      dc.b 0
  131. bval:      dc.b 0
  132. counter1: dc.b 0
  133. xcount:      dc.b 0
  134. yac:      dc.b 0
  135.  
  136.  
  137.     even
  138.  
  139. newcop:     dc.w $0100,$5200
  140.       dc.w $0102
  141. boh:      dc.w $0000
  142.      dc.w $0180,$0000
  143.      dc.w $0120
  144. sp1l:     dc.w $0000,$0122
  145. sp1h:      dc.w $0000 
  146.      dc.w $0124
  147. sp2l:     dc.w $0000,$0126
  148. sp2h:      dc.w $0000 
  149.      dc.w $0128
  150. sp3l:     dc.w $0000,$012a
  151. sp3h:      dc.w $0000 
  152.      dc.w $012c
  153. sp4l:     dc.w $0000,$012e
  154. sp4h:      dc.w $0000
  155.      dc.w $0130
  156. sp5l:     dc.w $0000,$132
  157. sp5h:      dc.w $0000
  158.  scr:       dc.w $2001,$fffe
  159.       dc.w $00e0
  160.  hi1:     dc.w $0000
  161.      dc.w $00e2
  162.  lo1:     dc.w $0000     
  163.      dc.w $00e4
  164.  hi2:     dc.w $0000
  165.      dc.w $00e6
  166.  lo2:     dc.w $0000 
  167.      dc.w $00e8
  168.  hi3:     dc.w $0000
  169.      dc.w $00ea
  170.  lo3:     dc.w $0000 
  171.      dc.w $00ec
  172.  hi4:     dc.w $0000
  173.      dc.w $00ee
  174.  lo4:     dc.w $0000 
  175.      dc.w $00f0
  176.  hi5:     dc.w $0000
  177.      dc.w $00f2
  178.  lo5:     dc.w $0000
  179.      dc.w $008e,$3021 
  180.      dc.w $0090,$30f1
  181.      dc.w $180
  182. c1:     dc.w $000,$182
  183. c2:     dc.w $fff,$184
  184. c3:     dc.w $fdb,$186
  185. c4:     dc.w $db9
  186.      dc.w $188
  187. c5:     dc.w $c97,$18a
  188. c6:     dc.w $a75,$18c
  189. c7:     dc.w $853,$18e
  190. c8:     dc.w $033,$190
  191. c9:     dc.w $c60
  192.      dc.w $192
  193. c10:     dc.w $ba5,$194
  194. c11:     dc.w $962,$196
  195. c12:     dc.w $530,$198
  196. c13:     dc.w $db4,$19a
  197. c14:     dc.w $558
  198.      dc.w $19c
  199. c15:     dc.w $447,$19e
  200. c16:     dc.w $336,$1a0
  201. c17:     dc.w $a40,$1a2
  202. c18:     dc.w $f44,$1a4
  203. c19:     dc.w $b00
  204.      dc.w $1a6
  205. c20:     dc.w $222,$1a8
  206. c21:     dc.w $333,$1aa
  207. c22:     dc.w $444,$1ac
  208. c23:     dc.w $555,$1ae
  209. c24:     dc.w $666
  210.      dc.w $1b0
  211. c25:     dc.w $777,$1b2
  212. c26:     dc.w $888,$1b4
  213. c27:     dc.w $999,$1b6
  214. c28:     dc.w $aaa,$1b8
  215. c29:     dc.w $ccc
  216.      dc.w $1ba
  217. c30:     dc.w $ddd,$1bc
  218. c31:     dc.w $eee,$1be
  219. c32:     dc.w $fff
  220.  
  221.      dc.w $f201,$fffe
  222.      dc.w $0180,$0fff
  223.      dc.w $f301,$fffe
  224.      dc.w $0180,$000a
  225.      dc.w $ffff,$fffe
  226.      
  227.      even
  228.  
  229. screen:
  230.      ds.b 5*badd
  231.      
  232. tempbob:
  233.      ds.b 5*256
  234.      
  235. picdata:
  236.      incbin 'df1:graphics/game.blocks.raw'
  237.      
  238. bobsetup:
  239.       lea $dff000,a6
  240.       move.l #-1,bltafwm(a6)
  241.      move.w #$09f0,bltcon0(a6)
  242.      clr.w bltcon1(a6)
  243.       clr.w bltamod(a6)
  244.      move.w #40-2,bltdmod(a6)             
  245.      move.w #40-2,bltamod(a6)             
  246. af1:     move.l #screen,bltdpt(a6)       
  247. bf1:      move.l #picdata,bltapt(a6)           
  248.      move.w #%0000010000000001,bltsize(a6)    
  249. af2:     move.l #screen+badd,bltdpt(a6)       
  250. bf2:      move.l #picdata+badd,bltapt(a6)           
  251.      move.w #%0000010000000001,bltsize(a6)         
  252. af3:     move.l #screen+badd*2,bltdpt(a6)       
  253. bf3:      move.l #picdata+badd*2,bltapt(a6)           
  254.      move.w #%0000010000000001,bltsize(a6)         
  255. af4:     move.l #screen+badd*3,bltdpt(a6)       
  256. bf4:      move.l #picdata+badd*3,bltapt(a6)           
  257.      move.w #%0000010000000001,bltsize(a6)         
  258. af5:     move.l #screen+badd*4,bltdpt(a6)       
  259. bf5:      move.l #picdata+badd*4,bltapt(a6)           
  260.      move.w #%0000010000000001,bltsize(a6)         
  261.       rts
  262.       
  263. bobsetup1:
  264.       lea $dff000,a6
  265.       move.l #-1,bltafwm(a6)
  266.      move.w #$09f0,bltcon0(a6)
  267.      clr.w bltcon1(a6)
  268.       clr.w bltamod(a6)
  269.      move.w #40-2,bltdmod(a6)             
  270.      move.w #40-2,bltamod(a6)             
  271.      move.l #tempbob,bltdpt(a6)       
  272. cf1:      move.l #screen,bltapt(a6)           
  273.      move.w #%0000010000000001,bltsize(a6)    
  274.      move.l #tempbob+256,bltdpt(a6)       
  275. cf2:      move.l #screen+badd,bltapt(a6)           
  276.      move.w #%0000010000000001,bltsize(a6)         
  277.      move.l #tempbob+256*2,bltdpt(a6)       
  278. cf3:      move.l #screen+badd*2,bltapt(a6)           
  279.      move.w #%0000010000000001,bltsize(a6)         
  280.      move.l #tempbob+256*3,bltdpt(a6)       
  281. cf4:      move.l #screen+badd*3,bltapt(a6)           
  282.      move.w #%0000010000000001,bltsize(a6)         
  283.      move.l #tempbob+256*4,bltdpt(a6)       
  284. cf5:      move.l #screen+badd*4,bltapt(a6)           
  285.      move.w #%0000010000000001,bltsize(a6)         
  286.       rts
  287.       
  288.       
  289. bobsetup2:
  290.       lea $dff000,a6
  291.       move.l #-1,bltafwm(a6)
  292.      move.w #$09f0,bltcon0(a6)
  293.      clr.w bltcon1(a6)
  294.       clr.w bltamod(a6)
  295.      move.w #40-2,bltdmod(a6)             
  296.      move.w #40-2,bltamod(a6)             
  297. df1:     move.l #screen,bltdpt(a6)       
  298.       move.l #tempbob,bltapt(a6)           
  299.      move.w #%0000010000000001,bltsize(a6)    
  300. df2:     move.l #screen+badd,bltdpt(a6)       
  301.       move.l #tempbob+256,bltapt(a6)           
  302.      move.w #%0000010000000001,bltsize(a6)         
  303. df3:     move.l #screen+badd*2,bltdpt(a6)       
  304.       move.l #tempbob+256*2,bltapt(a6)           
  305.      move.w #%0000010000000001,bltsize(a6)         
  306. df4:     move.l #screen+badd*3,bltdpt(a6)       
  307.       move.l #tempbob+256*3,bltapt(a6)           
  308.      move.w #%0000010000000001,bltsize(a6)         
  309. df5:     move.l #screen+badd*4,bltdpt(a6)       
  310.       move.l #tempbob+256*4,bltapt(a6)           
  311.      move.w #%0000010000000001,bltsize(a6)         
  312.       rts
  313.       
  314.       
  315.       
  316. bobsetup3:
  317.       lea $dff000,a6
  318.       move.l #-1,bltafwm(a6)
  319.      move.w #$09f0,bltcon0(a6)
  320.      clr.w bltcon1(a6)
  321.       clr.w bltamod(a6)
  322.      move.w #40-38,bltdmod(a6)             
  323.      move.w #40-38,bltamod(a6)             
  324.      move.l #screen,bltdpt(a6)       
  325.       move.l #screen+2,bltapt(a6)           
  326.      move.w #%0011000000010011,bltsize(a6)    
  327.      move.l #screen+badd,bltdpt(a6)       
  328.       move.l #screen+badd+2,bltapt(a6)           
  329.      move.w #%0011000000010011,bltsize(a6)         
  330.      move.l #screen+badd*2,bltdpt(a6)       
  331.       move.l #screen+badd*2+2,bltapt(a6)           
  332.      move.w #%0011000000010011,bltsize(a6)         
  333.      move.l #screen+badd*3,bltdpt(a6)       
  334.       move.l #screen+badd*3+2,bltapt(a6)           
  335.      move.w #%0011000000010011,bltsize(a6)         
  336.      move.l #screen+badd*4,bltdpt(a6)       
  337.       move.l #screen+badd*4+2,bltapt(a6)           
  338.      move.w #%0011000000010011,bltsize(a6)         
  339.       rts
  340.       
  341.       
  342. bobsetup4:
  343.       lea $dff000,a6
  344.       move.l #-1,bltafwm(a6)
  345.      move.w #$09f0,bltcon0(a6)
  346.      clr.w bltcon1(a6)
  347.       clr.w bltamod(a6)
  348.      move.w #40-38,bltdmod(a6)             
  349.      move.w #40-38,bltamod(a6)             
  350.      move.l #screen+2,bltdpt(a6)       
  351.       move.l #screen,bltapt(a6)           
  352.      move.w #%0011000000010011,bltsize(a6)    
  353.      move.l #screen+badd+2,bltdpt(a6)       
  354.       move.l #screen+badd,bltapt(a6)           
  355.      move.w #%0011000000010011,bltsize(a6)         
  356.      move.l #screen+badd*2+2,bltdpt(a6)       
  357.       move.l #screen+badd*2,bltapt(a6)           
  358.      move.w #%0011000000010011,bltsize(a6)         
  359.      move.l #screen+badd*3+2,bltdpt(a6)       
  360.       move.l #screen+badd*3,bltapt(a6)           
  361.      move.w #%0011000000010011,bltsize(a6)         
  362.      move.l #screen+badd*4+2,bltdpt(a6)       
  363.       move.l #screen+badd*4,bltapt(a6)           
  364.      move.w #%0011000000010011,bltsize(a6)         
  365.       rts
  366.       
  367. bobsetup5:
  368.       lea $dff000,a6
  369.       move.l #-1,bltafwm(a6)
  370.      move.w #$09f0,bltcon0(a6)
  371.      clr.w bltcon1(a6)
  372.       clr.w bltamod(a6)
  373.      move.w #40-2,bltdmod(a6)             
  374.      move.w #40-2,bltamod(a6)             
  375.      move.l #screen+8000,bltdpt(a6)       
  376.       move.l bf1+2,bltapt(a6)           
  377.      move.w #%0000010000000001,bltsize(a6)    
  378.      move.l #screen+badd+8000,bltdpt(a6)       
  379.       move.l bf2+2,bltapt(a6)           
  380.      move.w #%0000010000000001,bltsize(a6)         
  381.      move.l #screen+badd*2+8000,bltdpt(a6)       
  382.       move.l bf3+2,bltapt(a6)           
  383.      move.w #%0000010000000001,bltsize(a6)         
  384.      move.l #screen+badd*3+8000,bltdpt(a6)       
  385.       move.l bf4+2,bltapt(a6)           
  386.      move.w #%0000010000000001,bltsize(a6)         
  387.      move.l #screen+badd*4+8000,bltdpt(a6)       
  388.       move.l bf5+2,bltapt(a6)           
  389.      move.w #%0000010000000001,bltsize(a6)    
  390.       rts
  391.            
  392. bobsetup6:
  393.       lea $dff000,a6
  394.       move.l #-1,bltafwm(a6)
  395.      move.w #$09f0,bltcon0(a6)
  396.      clr.w bltcon1(a6)
  397.       clr.w bltamod(a6)
  398.      move.w #40-2,bltdmod(a6)             
  399.      move.w #40-2,bltamod(a6)             
  400.      move.l #screen+9000,bltdpt(a6)       
  401.       move.l #tempbob,bltapt(a6)           
  402.      move.w #%0000010000000001,bltsize(a6)    
  403.      move.l #screen+badd+9000,bltdpt(a6)       
  404.       move.l #tempbob+256,bltapt(a6)           
  405.      move.w #%0000010000000001,bltsize(a6)         
  406.      move.l #screen+badd*2+9000,bltdpt(a6)       
  407.       move.l #tempbob+256*2,bltapt(a6)           
  408.      move.w #%0000010000000001,bltsize(a6)         
  409.      move.l #screen+badd*3+9000,bltdpt(a6)       
  410.       move.l #tempbob+256*3,bltapt(a6)           
  411.      move.w #%0000010000000001,bltsize(a6)         
  412.      move.l #screen+badd*4+9000,bltdpt(a6)       
  413.       move.l #tempbob+256*4,bltapt(a6)           
  414.      move.w #%0000010000000001,bltsize(a6)         
  415.       rts
  416.            
  417.  
  418.       
  419. keyboard:
  420.     move.b akey,d0
  421.     not d0
  422.     ror.b d0
  423.  
  424.     cmpi.b #$4e,d0
  425.     bne gru
  426.     cmpi.b #18,xpos
  427.     bne stah
  428.     cmpi.b #199,xcount
  429.     beq gru6
  430.     jsr bobsetup2
  431.     jsr bobsetup3
  432.     jsr bobsetup1
  433.     jsr bobsetup
  434.     jmp gri1
  435. stah:
  436.     addi.b #1,xpos
  437.     jsr bobsetup2
  438.     move.l af1+2,a5
  439.     adda.l #2,a5
  440.     move.l a5,af1+2
  441.     move.l a5,df1+2
  442.     move.l a5,cf1+2
  443.     move.l af2+2,a5
  444.     adda.l #2,a5
  445.     move.l a5,af2+2
  446.     move.l a5,df2+2
  447.     move.l a5,cf2+2
  448.     move.l af3+2,a5
  449.     adda.l #2,a5
  450.     move.l a5,af3+2
  451.     move.l a5,df3+2
  452.     move.l a5,cf3+2
  453.     move.l af4+2,a5
  454.     adda.l #2,a5
  455.     move.l a5,af4+2
  456.     move.l a5,df4+2
  457.     move.l a5,cf4+2
  458.     move.l af5+2,a5
  459.     adda.l #2,a5
  460.     move.l a5,af5+2
  461.     move.l a5,df5+2
  462.     move.l a5,cf5+2
  463.     jsr bobsetup1
  464.     jsr bobsetup
  465.     jsr bobsetup6
  466. gri1:    move.l neo+6,a2
  467.     adda.l #1,a2
  468.     move.l a2,neo+6
  469.     addi.b #1,xcount
  470.     
  471. gru:
  472.     cmpi.b #$4f,d0
  473.     bne gru1
  474.     cmpi.b #0,xpos
  475.     bne stah1
  476.     cmpi.b #0,xcount
  477.     beq gru6
  478.     jsr bobsetup2
  479.     jsr bobsetup4
  480.     jsr bobsetup1
  481.     jsr bobsetup
  482.     jmp gri2
  483. stah1:    
  484.     subi.b #1,xpos
  485.     jsr bobsetup2
  486.     move.l af1+2,a5
  487.     suba.l #2,a5
  488.     move.l a5,af1+2
  489.     move.l a5,df1+2
  490.     move.l a5,cf1+2
  491.     move.l af2+2,a5
  492.     suba.l #2,a5
  493.     move.l a5,af2+2
  494.     move.l a5,df2+2
  495.     move.l a5,cf2+2
  496.     move.l af3+2,a5
  497.     suba.l #2,a5
  498.     move.l a5,af3+2
  499.     move.l a5,df3+2
  500.     move.l a5,cf3+2
  501.     move.l af4+2,a5
  502.     suba.l #2,a5
  503.     move.l a5,af4+2
  504.     move.l a5,cf4+2
  505.     move.l a5,df4+2
  506.     move.l af5+2,a5
  507.     suba.l #2,a5
  508.     move.l a5,af5+2
  509.     move.l a5,cf5+2
  510.     move.l a5,df5+2
  511.     jsr bobsetup1
  512.     jsr bobsetup
  513.     jsr bobsetup6
  514. gri2:    move.l neo+6,a2
  515.     suba.l #1,a2
  516.     subi.b #1,xcount
  517.     move.l a2,neo+6
  518.     
  519. gru1:    
  520.     cmpi.b #$4c,d0
  521.     bne gru2
  522.     cmpi.b #0,ypos
  523.     beq gru6
  524.     subi.b #1,ypos
  525.     jsr bobsetup2
  526.     move.l af1+2,a5
  527.     suba.l #40*16,a5
  528.     move.l a5,af1+2
  529.     move.l a5,df1+2
  530.     move.l a5,cf1+2
  531.     move.l af2+2,a5
  532.     suba.l #40*16,a5
  533.     move.l a5,af2+2
  534.     move.l a5,df2+2
  535.     move.l a5,cf2+2
  536.     move.l af3+2,a5
  537.     suba.l #40*16,a5
  538.     move.l a5,af3+2
  539.     move.l a5,df3+2
  540.     move.l a5,cf3+2
  541.     move.l af4+2,a5
  542.     suba.l #40*16,a5
  543.     move.l a5,af4+2
  544.     move.l a5,df4+2
  545.     move.l a5,cf4+2
  546.     move.l af5+2,a5
  547.     suba.l #40*16,a5
  548.     move.l a5,af5+2
  549.     move.l a5,df5+2
  550.     move.l a5,cf5+2
  551.     jsr bobsetup1
  552.     jsr bobsetup
  553.     jsr bobsetup6
  554.     move.l neo+6,a2
  555.     suba.l #200,a2
  556.     move.l a2,neo+6
  557.     
  558. gru2:
  559.     cmpi.b #$4d,d0
  560.     bne gru3
  561.     cmpi.b #11,ypos
  562.     bne yepo
  563.     jmp gru6
  564. yepo:
  565.     addi.b #1,ypos
  566.     jsr bobsetup2
  567.     move.l af1+2,a5
  568.     adda.l #16*40,a5
  569.     move.l a5,af1+2
  570.     move.l a5,df1+2
  571.     move.l a5,cf1+2
  572.     move.l af2+2,a5
  573.     adda.l #16*40,a5
  574.     move.l a5,af2+2
  575.     move.l a5,df2+2
  576.     move.l a5,cf2+2
  577.     move.l af3+2,a5
  578.     adda.l #16*40,a5
  579.     move.l a5,af3+2
  580.     move.l a5,df3+2
  581.     move.l a5,cf3+2
  582.     move.l af4+2,a5
  583.     adda.l #16*40,a5
  584.     move.l a5,af4+2
  585.     move.l a5,df4+2
  586.     move.l a5,cf4+2
  587.     move.l af5+2,a5
  588.     adda.l #16*40,a5
  589.     move.l a5,af5+2
  590.     move.l a5,df5+2
  591.     move.l a5,cf5+2
  592.     jsr bobsetup1
  593.     jsr bobsetup
  594.     jsr bobsetup6
  595.     move.l neo+6,a2
  596.     adda.l #200,a2
  597.     move.l a2,neo+6
  598. gru3:
  599.     cmpi.b #$0c,d0
  600.     bne gru4
  601.     addi.b #1,bval
  602.     cmpi.b #19,counter1
  603.     bne steg
  604.     move.b #0,counter1
  605.     jsr bobsetup2
  606.     move.l bf1+2,a5
  607.     adda.l #16*40,a5
  608.     suba.l #38,a5
  609.     move.l a5,bf1+2
  610.     move.l bf2+2,a5
  611.     adda.l #16*40,a5
  612.     suba.l #38,a5
  613.     move.l a5,bf2+2
  614.     move.l bf3+2,a5
  615.     adda.l #16*40,a5
  616.     suba.l #38,a5
  617.     move.l a5,bf3+2
  618.     move.l bf4+2,a5
  619.     adda.l #16*40,a5
  620.     suba.l #38,a5
  621.     move.l a5,bf4+2
  622.     move.l bf5+2,a5
  623.     adda.l #16*40,a5
  624.     suba.l #38,a5
  625.     move.l a5,bf5+2
  626.     jsr bobsetup1
  627.     jsr bobsetup
  628.     jmp gru6
  629.     
  630. steg:
  631.     addi.b #1,counter1
  632.     jsr bobsetup2
  633.     move.l bf1+2,a5
  634.     adda.l #2,a5
  635.     move.l a5,bf1+2
  636.     move.l bf2+2,a5
  637.     adda.l #2,a5
  638.     move.l a5,bf2+2
  639.     move.l bf3+2,a5
  640.     adda.l #2,a5
  641.     move.l a5,bf3+2
  642.     move.l bf4+2,a5
  643.     adda.l #2,a5
  644.     move.l a5,bf4+2
  645.     move.l bf5+2,a5
  646.     adda.l #2,a5
  647.     move.l a5,bf5+2
  648.     jsr bobsetup1
  649.     jsr bobsetup
  650.     jsr bobsetup5
  651.     
  652. gru4:
  653.     cmpi.b #$0b,d0
  654.     bne gru5
  655.     subi.b #1,bval
  656.     cmpi.b #0,counter1
  657.     bne sreg
  658.     move.b #19,counter1
  659.     jsr bobsetup2
  660.     move.l bf1+2,a5
  661.     suba.l #16*40,a5
  662.     adda.l #38,a5
  663.     move.l a5,bf1+2
  664.     move.l bf2+2,a5
  665.     suba.l #16*40,a5
  666.     adda.l #38,a5
  667.     move.l a5,bf2+2
  668.     move.l bf3+2,a5
  669.     suba.l #16*40,a5
  670.     adda.l #38,a5
  671.     move.l a5,bf3+2
  672.     move.l bf4+2,a5
  673.     suba.l #16*40,a5
  674.     adda.l #38,a5
  675.     move.l a5,bf4+2
  676.     move.l bf5+2,a5
  677.     suba.l #16*40,a5
  678.     adda.l #38,a5
  679.     move.l a5,bf5+2
  680.     jsr bobsetup1
  681.     jsr bobsetup
  682.     jmp gru6
  683. sreg:
  684.     subi.b #1,counter1
  685.     jsr bobsetup2
  686.     move.l bf1+2,a5
  687.     suba.l #2,a5
  688.     move.l a5,bf1+2
  689.     move.l bf2+2,a5
  690.     suba.l #2,a5
  691.     move.l a5,bf2+2
  692.     move.l bf3+2,a5
  693.     suba.l #2,a5
  694.     move.l a5,bf3+2
  695.     move.l bf4+2,a5
  696.     suba.l #2,a5
  697.     move.l a5,bf4+2
  698.     move.l bf5+2,a5
  699.     suba.l #2,a5
  700.     move.l a5,bf5+2
  701.     jsr bobsetup1
  702.     jsr bobsetup
  703.     jsr bobsetup5
  704. gru5:    
  705.     cmpi.b #$40,d0
  706.     bne gru6
  707.     jsr bobsetup1
  708. neo:    move.b bval,mapdata
  709. gru6:
  710.  
  711.     rts    
  712.     
  713. mapdata:    
  714.     ds.b 200*160
  715.